// Package database 数据库操作
package database

import (
	"database/sql"
	"fmt"

	"gorm.io/gorm/schema"

	"gorm.io/gorm"
	gormlogger "gorm.io/gorm/logger"
)

// DB 对象
var DB *gorm.DB
var SQLDB *sql.DB

// Connect 连接数据库
func Connect(dbConfig gorm.Dialector, _logger gormlogger.Interface) {

	// 使用 gorm.Open 连接数据库
	var err error
	DB, err = gorm.Open(dbConfig, &gorm.Config{
		Logger: _logger,
		NamingStrategy: schema.NamingStrategy{
			TablePrefix:   "old_liu_", // 表名前缀，`User` 的表名应该是 `t_users`
			SingularTable: true,       // 使用单数表名，启用该选项，此时，`User` 的表名应该是 `t_user`
		},
	})
	// 处理错误
	if err != nil {
		fmt.Println(err.Error())
	}

	// 获取底层的 sqlDB
	SQLDB, err = DB.DB()
	if err != nil {
		fmt.Println(err.Error())
	}
}
